home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
001-010
/
amok10
/
flightdemo
/
liesmich
< prev
next >
Wrap
Text File
|
1993-11-04
|
2KB
|
48 lines
FlightDemo V1.0
---------------
Autor: Nicolas Benezan, Postwiesenstr. 2, D7000 Stuttgart 60
Dieses kleine Programm domonstriert:
* Wie ein einfacher Screen und ein Window geöffnet wird
* Wie eine User-CopperList erstellt wird
(z.B. der Farbverlauf vom Horizont zum Vordergrund)
* Wie eine sehr komplizierte und rechenaufwendige Zentralprojektion
durch Reduzieren auf das wesentliche und einigen Tricks (vorberechnete
Tabellen) in noch annehmbarer Geschwindigkeit in Modula implementiert.
Außerdem ist die Animation trotz ihrer recht einfachen Liniengrafik
interessant anzuschauen, va. weil das ruckelfreie 2-dimensionale
Bitplane-Scrolling langsam schon zum Standard wird und keine programm-
technischen Kunststücke verlangt.
Leider ist die Demo noch etwas unausgereift - sie flimmert sehr stark.
Dies ließe sich aber sicher mit Double-Buffering und korrekter Raster-
zeilensynchronisation abstellen.
Im jetztigen Zustand ist sie auch für die Verwendung in einem Spiel
ingeeignet, weil sie die gesammte Rechenzeit des Amiga "frißt" und kaum
mehr Zyklen für das eigentliche Spiel bliebe. Es würde entweder sehr
langsam oder sehr eintönig. Da die zeitkritische Routine aber sehr leicht
in Assembler umsetzbar ist, denn sie verwendet ausschließlich Integer-
Arithmetik und Tabellen, ließe sich die notwendige Rechenleistung
schätzungsweise auf 1/3 reduzieren.
Der Sourcecode ist noch sehr wenig dokumentiert. Falls jedoch jemand
Verwendung für die Scrollroutine hat, bin ich jedoch gerne zu möglicher
Zusammenarbeit bereit.
Ich möchte hier noch darauf hinweisen, daß die FlightDemo und alle
enthaltenen Proceduren und Methoden n i c h t Public Domain sind.
Wer eine kommerzielle oder eine andere nicht ausschließlich private
Verwendung beabsichtigt, ist zu einer Absprache mit dem Autor
verpflichtet.
FlightDemo.mod wurde mit m2c Version 3.1d compiliert. Es ist möglich,
daß bei anderen Versionen Probleme mit dem SYSTEM.SHIFT auftreten
(Bereichsfehler). Wegen der oben genannten Notwendigkeit der
maschinennahen Programmierung wurde das SHIFT jedoch so belassen.
Die Steuerung ist recht primitiv (Abfrage der Mousepointer-Position),
verlassen wird das Programm durch Herunterziehen des Screens und
Bewegen des Pointers über den oberen Screenrand.